package concurrency.chapter3;

/**
 * @author 夏焰波
 * @date 2020-06-04 1:23
 */
public class CreateThread4 {
    private static int counter = 1;

    public static void main(String[] args) {
        //4、构造Thread的时候 传入stacksize代表着该线程占用的stack大小，
        //如果没有指定stacksize的大小，默认是0,0代表着会忽略该参数，该参数会被JNI函数去使用
        //需要注意：该参数在有些平台有效，在有些平台则无效
        //一般不用stacksiz指定，而是使用JVM参数的方式设置-Xss10M
        Thread t1 = new Thread(null, new Runnable() {
            @Override
            public void run() {
                try {
                    add(1);
                } catch (Error e) {
                    //默认是18833，指定stacksize后1000238
                    System.out.println(counter);
                }
            }

            private void add(int i) {
                counter++;
                add(i + 1);
            }
        }, "Test", 1 << 24);
        t1.start();
    }
}
